package com.ruoyi.system.domain.dto;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@Data
public class BdmGoodAddDto extends BaseEntity {

    /** 表主键 */
    private Long id;

    /** 商品id */
    private Long goodId;

    /** 一级分类id */
    //@NotNull(message = "商品等级是必填的")
    private Long productLevel;

    /** 商品类型（1实体商品，2虚拟商品） */
    @NotBlank(message = "商品类型是必填的")
    private String goodType;

    /** 一级分类id */
    @NotNull(message = "商品分类编号是必填的")
    private Long classOneId;

    /** 一级分类名称 */
    @NotBlank(message = "商品分类名称是必填的")
    private String classOneName;

    /** 商品名称 */
    @NotBlank(message = "商品名称是必填的")
    private String goodName;

    /** 副标题 */
    private String subtitle;

    /** 商品主图 */
    private String goodImg;

    /** 商品轮播图 */
    private String goodBannerImg;

    /** 商品视频 */
    private String goodVideo;

    /** 商品视频封面 */
    private Long goodVideoImg;

    /** 商品标签 */
    private String goodTag;

    /** 商品服务 */
    private String goodService;

    /** 是否上架（1上架，2下架） */
    private String isInitiate;

    /** 主商城显示（1显示，2隐藏） */
    private String mallDisplay;

    /** 是否启用区域分类（1启用，2不启用） */
    private String regionClass;

    /** 省 */
    private Long province;

    /** 省名称 */
    private String provinceString;

    /** 市 */
    private Long city;

    /** 市名称 */
    private String cityString;

    /** 区 */
    private Long region;

    /** 区名称 */
    private String regionString;

    /** $column.columnComment */
    private String mergerName;

    /** 商品详情 */
    private String goodDesc;

    /** 商品规格 */
    private String goodSpecs;

    /** 售价 */
    private BigDecimal retailPrice;

    /** 划线价（原价） */
    private BigDecimal originalPrice;

    /** 成本价 */
    private BigDecimal costPrice;

    /** 商品单位（至多3个） */
    private String goodUnit;

    /** 商品库存 */
    private String goodInventory;

    /** 库存预警（商品库存少于预警数量，商品列表库存数量标红显示） */
    private String inventoryAlert;

    /** 商品重量 */
    private String goodWeight;

    /** 商品货号 */
    private String productCode;

    /** 库存显示（1显示，2隐藏） */
    private String inventoryShown;

    /** 销量显示（1显示，2隐藏） */
    private String salesShown;

    /** 虚拟销量 */
    private String virtualSales;

    /** 库存版本号 */
    private Long inventoryVersion;

    /** 二级分类id */
    private Long classTwoId;

    /** 二级分类名称 */
    private String classTwoName;

    /** 三级id */
    private Long classThreeId;

    /** 三级名称 */
    private String classThreeName;

    /** 分类祖级 */
    private String classAncestors;

    /** 删除标志（1存在，2删除） */
    private String delFlag;

    /** 会员购买权限（1普通，2VIP，3SVIP，4共享店主，5联创，6区域运营中心，7总裁） */
    private String memberBuyingRights;

    /** 是否参与会员价（1不参与会员折扣独立设置，2参与会员折扣独立设置，3不参与会员折扣） */
    private String participatingMemberPrice;

    /** vip价 */
    private BigDecimal vipPrice;

    /** svip价 */
    private BigDecimal svipPrice;

    /** 共享店主价 */
    private BigDecimal sharePrice;

    /** 联创价 */
    private BigDecimal joinPrice;

    /** 区域运营中心价 */
    private BigDecimal operationsPrice;

    /** 总裁价 */
    private BigDecimal presidentPrice;

    /** 积分赠送（1开启，2关闭） */
    private String pointsBonus;

    /** 赠送类型（1固定值，2百分比） */
    private String bonusSet;

    /** 赠送值 */
    private String bounsValue;

    /** 发放等级（1普通，2VIP，3SVIP，4共享店主，5联创，6区域运营中心，7总裁）逗号拼接 */
    private String bonusLevel;

    /** 积分抵扣（1可抵扣，2不可） */
    private String pointsRedemption;

    /** 积分使用数量 */
    private String pointsUse;

    /** 抵扣类型  1全积分兑换 2积分+金额兑换 3积分抵扣 */
    private String redemptionSet;

    /** 抵扣值 */
    @Excel(name = "抵扣值")
    private String redemptionValue;

    /** 商品单单奖 */
    @Excel(name = "商品单单奖")
    private BigDecimal singlePrize;

    /** 商品奖金(用于奖金池) */
    private BigDecimal prizePool;

    /** 是否置顶 (1推荐，2否) */
    private String isTop;

}
